home *** CD-ROM | disk | FTP | other *** search
- #ifndef MAP_H
- #define MAP_H
- /*
- * ============================================================================
- * structures
- * ============================================================================
- */
-
- #define MAXTOKEN 128
- #define SAVE_BACK 1024
-
- #define MAX_MAPLIGHTLEVEL 300
-
- struct plane {
- vec3_t normal;
- vec_t dist;
- int type;
- } __packed; // 20
-
- struct mface {
- struct mface *next;
- struct plane plane;
- int texinfo;
- /* added by niels */
- vec3_t p0, p1, p2;
- } __packed; // 48 -> 96
-
- struct mbrush {
- struct mbrush *next;
- struct mface *faces;
- } __packed; // 8
-
- struct epair {
- struct epair *next;
- char *key;
- char *value;
- } __packed; // 12
-
- struct entity {
- vec3_t origin;
- struct mbrush *brushes;
- struct epair *epairs;
-
- /* light */
- char *classname;
- float angle;
- int light, style;
- char *target, *targetname;
- struct entity *targetent;
- } __packed; // 20
-
- /*
- * ============================================================================
- * globals
- * ============================================================================
- */
-
- extern char token[MAXTOKEN];
- extern bool unget;
- extern char *script_p;
- extern int scriptline;
-
- /*
- * ============================================================================
- * prototypes
- * ============================================================================
- */
-
- int FindMiptex(__memBase, char *name);
- int FindTexinfo(__memBase, struct texinfo *t);
- int MakeTexinfo (__memBase, char *texname, struct mface *f, float *scale, float rotate, float *shift);
- struct entity *FindEntityWithKeyPair(__memBase, char *key, char *value);
- struct entity *FindTargetEntity(__memBase, char *target);
- struct entity *FindEntityWithModel(__memBase, int modnum);
- void StartTokenParsing(char *data);
- bool GetToken(bool crossline);
- void UngetToken(void);
- void ParseEpair(void);
- void TextureAxisFromPlane(struct plane *pln, vec3_t xv, vec3_t yv);
- void ParseBrush(__memBase);
- bool ParseEntity(__memBase);
- int LightStyleForTargetname(char *targetname, bool alloc);
- void MatchTargets(__memBase);
- void WriteEntitiesToString(__memBase);
- void PrintEntity(struct entity *ent);
- char *ValueForKey(struct entity *ent, char *key);
- char *ValueForKeyN(struct entity * ent, char *key);
- void SetKeyValue(struct entity *ent, char *key, char *value);
- float FloatForKey(struct entity *ent, char *key);
- float FloatForKeyN(struct entity *ent, char *key);
- void GetVectorForKey(struct entity *ent, char *key, vec3_t vec);
- #endif
-